import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt(); // 输入n
        printUpperTriangle(n); // 输出上三角数字三角形
    }

    // 输出上三角数字三角形
    public static void printUpperTriangle(int n) {
        int[][] triangle = new int[n][n]; // 存储数字的二维数组
        int currentNumber = 1; // 当前数字

        // 填充二维数组
        for (int col = 0; col < n; col++) {
            for (int row = 0; row < n - col; row++) {
                triangle[row][col] = currentNumber++;
            }
        }

        // 输出上三角数字三角形
        for (int row = 0; row < n; row++) {
            for (int col = 0; col < n - row; col++) {
                System.out.printf("%4d", triangle[row][col]); // 每个数字占4个字符位置
            }
            System.out.println(); // 换行
        }
    }
}